<html>
<body>
Reports implicit conversions between the predefined XPath-types <code>STRING</code>, <code>NUMBER</code>, <code>BOOLEAN</code>,
and <code>NODESET</code>. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs:
<p><b>Example:</b></p>
<pre><code>
  &lt;xsl:if test="<b>foo</b>" />
</code></pre>
is not the same as
<pre><code>
  &lt;xsl:if test="<b>string(foo)</b>" />
</code></pre>

<p>
The first test checks whether the element "foo" exists (<code>count(foo) > 0)</code>; the latter one however is only
 true if the element actually contains any text (<code>string-length(foo) > 0</code>). Suggests making 
the type conversion more explicit.
</p>

<p>
  Use the following options to configure the inspection:
</p>
<ul><li>Enable or disable implicit conversions between certain types</li>
<li>Always report explicit conversions that do not result in the actually expected type, for example,
 <code>&lt;xsl:if test="number(foo)" /></code></li> 
<li>Ignore conversion from <code>NODESET</code>
  to <code>BOOLEAN</code> by using the <code>string()</code> function as a shortcut for writing <code>string-length() > 0</code>.</li></ul>
</body>
</html>